# -*- coding: utf-8 -*-
"""
作者: liuzaiqiang
邮箱: zaiqiangliu@163.com
地址: 新疆大学(博达校区)
职业：学生(2025级研一)
创建时间: 2025/11/29 23:23

功能需求：
n个学生围成一圈，编号按顺时针依次从11到nn。然后从11号学生开始顺时针从11到mm报数，报到mm的学生离开，从下一个学生继续报数。直到只剩下一个学生。请你计算最后留下学生的编号。

输入
从标准输入读入数据。
输入只有一行，包含两个正整数nn，mm。已知2≤m≤n2≤m≤n。
输出
输出到标准输出。
输出一个整数，表示最后剩下学生的编号。
【样例1输入】
4 3
【样例1输出】
1
【样例1解释】
第一轮离开的学生编号是3，第二轮离开的学生编号是2，第三轮离开的学生编号是4。最后留下的学生编号是1。

提示
子任务
40%的测试数据满足n≤10n≤10；
70%的测试数据满足n≤100n≤100；
100%测试数据满足n≤1000n≤1000。


设计思路：

代码说明：

输出结果示例:

备注：

"""
from collections import deque
import sys

def main():
    # 读取输入的n和m
    n, m = map(int, sys.stdin.readline().split())
    # 初始化学生队列（编号1到n）
    students = deque(range(1, n + 1))
    # 循环报数，直到只剩1人
    while len(students) > 1:
        # 报数到m，需要将前m-1个元素移到队列末尾
        students.rotate(-(m - 1))
        # 移除报到m的学生
        students.popleft()
    # 输出最后剩下的学生编号
    print(students[0])

if __name__ == "__main__":
    main()